import scrapy


class ItcastSpider(scrapy.Spider):
    """
    创建scrapy项目：scrapy startproject 项目名

    spiders：存放spiders的文件夹；
    items.py：Items的定义，定义爬取的数据结构；
    middlewares.py：项目中间件文件，定义爬取时的中间件；
    pipelines.py：项目管道文件，定义数据管道；
    settings：项目设置文件；
    scrapy.cfg：Scrapy部署配置文件。

    创建spider爬虫，需进入项目目录：scrapy genspider 爬虫名字 允许爬取的域名

    运行spider爬虫：scrapy crawl 爬虫名字
    """
    name = 'itcast'
    # 2.检查域名
    allowed_domains = ['itcast.cn']
    # 1.修改起始url
    start_urls = ['http://www.itcast.cn/channel/teacher.shtml#ajavaee']

    # 3.在parse方法中实现爬取逻辑
    def parse(self, response):
        # 定义对网站相关的操作
        # with open('itcast.html', 'wb')as f:
        #     f.write(response.body)

        # 获取所有教师节点
        # scrapy.selector.unified.SelectorList.extract_first
        node_list = response.xpath('//div[@class="main_bot"]')
        for i in node_list:
            teacher = i.xpath('./h2/text()')
            print(teacher.extract_first())
            break
        pass
